package com.XinYun.Library.modules.commons.ReturnCodes.Impl;

/**
 * 返回信息枚举类
 */
public enum ReturnCodes implements com.XinYun.Library.modules.commons.ReturnCodes.ReturnCodes {
    /*《手册》还有一条是规定错误码应该如何定义：
      错误码为字符串类型，共 5 位，分成两个部分：错误产生来源+四位数字编号。
      说明：错误产生来源分为 A/B/C
      A 表示错误来源于用户，比如参数错误，用户安装版本过低，用户支付超时等问题；
      B 表示错误来源于当前系统，往往是业务逻辑出错，或程序健壮性差等问题；
      C 表示错误来源于第三方服务，比如 CDN 服务出错，消息投递超时等问题；
      四位数字编号从 0001 到 9999，大类之间的步长间距预留 100。*/

    //这个只是模板，大家有更好的可以直接改！！！
    //返回未登录
    UNLOGIN("A0001","用户未登录"),
    //xx成功
    SUCCESS( "B0200", "成功"),
    //xx成功但无记录
    NODATA("B0300","成功但无记录"),
    //xx邮件发送成功
    SEND_SUCCESS("B0001","邮件发送成功"),
    //xx重置密码成功
    RESET_SUCCESS("B0002","重置密码成功"),
    //xx用户登陆成功
    USER_SUCCESS("B0400","用户登陆成功"),
    //xx管理员登陆成功
    ADMIN_SUCCESS("B0000","管理员登陆成功"),
    //xx请求失败
    FAILURE("B0500","失败"),
    //xx不存在该用户
    ACCOUNT_FAILURE("B0600","不存在该用户"),
    //xx用户学号与密码不匹配
    PASSWORD_FAILURE("B0700","用户学号与密码不匹配"),
    //xx学号已被注册，无法重复注册
    EXIST_FAILURE("B0800","该学号已被注册，无法重复注册"),
    //xx内部邀请码错误，无法注册
    INVITE_FAILURE("B1500","内部邀请码错误，无法注册"),
    //xx该同学并非书院内部人员，无法注册
    MEMBER_FAILURE("BO900","该同学并非书院内部人员，无法注册"),
    //xx邮箱格式错误，注册失败
    MAIL_FAILURE("B1200","邮箱格式错误，注册失败"),
    //xx用户学号与邮箱不匹配，请重新输入
    SUIT_FAILURE("B1300","用户学号与邮箱不匹配，请重新输入"),
    //xx用户两次输入的密码不一致，请重新输入
    COPY_FAILURE("B1500","用户两次输入的密码不一致，请重新输入"),
    //xx验证码输入错误，请重新输入
    CODE_FAILURE("B1400","验证码输入错误，请重新输入"),
    //未知的书籍状态码
    ERR_UNKNOWN_STATE("A4041","未知的书籍状态码");

    //状态码
    String code;
    //业务信息
    String msg;

    ReturnCodes(String code,String msg) {
        this.code = code;
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
